Tengo el siguiente código en mi aplicación Vue para detectar cuándo el usuario cierra la pestaña:
onBeforeUnload() { window.onbeforeunload = null; return undefined; }La desactivación del cuadro de diálogo de confirmación "Salir de la página" funciona en Chrome, pero no en Firefox. ¿Porqué es eso? ¿Cómo desactivo el cuadro de diálogo de confirmación en Firefox?
Edición 1: Agregar y eliminar beforeunload oyentes
created() { window.addEventListener('beforeunload', this.onBeforeUnload); }, beforeDestroy() { window.removeEventListener('beforeunload', this.onBeforeUnload); }Cambiar mi método onBeforeUnload a esto solucionó el problema:
onBeforeUnload(e) { window.onbeforeunload = () => {}; delete e.returnValue; }